perm filename BUGS[UCI,SYS]2 blob sn#080181 filedate 1974-01-05 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00005 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	INSTRUCTIONS
C00003 00003	BUGS
C00007 00004	DISLIKES
C00008 00005	SUGGESTIONS
C00010 ENDMK
C⊗;
INSTRUCTIONS

This file is for reporting bugs in ILISP, and for making suggestions
about old features that need changing or new features people would
like added to the system.  Please give your name and the date when
you make an entry.
BUGS

27-AUG-73 TVR
 (PRIN1(QUOTE /)/"))	results in	 /)/"
 (PRIN1(QUOTE /"/)))	results in	 ")

 This clearly loses.
 			Tovar

 
17-JUN-73 DBA
Funnies when interrupting
 (PROG NIL LBL (PRINC @FOO)(GO LBL))
 If the (GO LBL) is interrupted then on doing OK or GO and another
 interrupt, the second break thinks it is at a depth of 2.
The OK or GO does not reset the break depth counter,and the break
 is not properly released.  The next interrupt of GO gives a depth of
 one more, but doing ↑ causes one of two kinds of lossage:
 1.  xxxxxxx ILL MEM REF FROM UNBREAK0
     (/BREAK1 BROKEN)
 in which case the only escape is ↑↑ (which continues to work)
 2.  xxxxxxx ILL MEM REF FROM SETARG
     NON-NUMERIC ARGUMENT
 at which time the thing goes into a tight loop from which there
 is no escape.

!!! reply from Daryle Lewis about above problem
 BRUCE,
 THE PROBLEM WITH GO (AND RETURN FOR THAT MATTER) IS THAT
 IT UNWINDS THE STACK BACK TO THE LAST PROG. HOWEVER, IT DOES NOT
 UNWIND ERRSETS. SINCE THE GO OR OK EVALUATES ITS EXPRESSION INSIDE
 OF AN ERRSET, THE NEXT TIME YOU DO A ↑ (WHICH IN TURN DOES (ERR NIL))
 CONTROL IS TRANSFERED TO A POINT ON THE STACK WHICH IS NO LONGER
 VALID. THIS CAN BE FIXED, AND PROBABLY WILL BE IN THE NEXT RELEASE.
 THE PROBLEM WITH THE LEVEL NUMBER IS NOT SO SIMPLE. GO AND OK
 ARE EXPECTING THE EXPRESSION TO RETURN A VALUE. AFTER THE VALUE
 IS RETURNED, THE LEVEL # IS DECREMENTED. SINCE GO AND RETURN
 SKIP OVER ALL OF THAT AND IMMEDIATELY RETURN TO THE LEVEL OF
 THE PROG, THE LEVEL # REMAINS UNCHANGED, AS DO THE IO CHANNELS AND
 THE PROMPT CHARACTER. YOU WILL GET A SIMILAR PROBLEM IF THE BROKEN
 EXPRESSION CONTAINS A RETFROM, EXCEPT THAT RETFROM HANDELS ERRSETS.
 I WILL GIVE A LOT OF THOUGHT TO THIS AND SEE WHAT I CAN COME UP WITH.
 IN THE MEANTIME DON'T USE GO OR OK ON GO OR RETURN. IF THE BREAK
 OCCURS BECAUSE OF AN ERROR, YOU CAN USE EX TO CONTINUE, BUT OTHERWISE,
 I AM AT LOSS AS TO WHAT TO SAY. SORRY.
 DARYLE
!!!

DISLIKES

All the time [EVERY,ONE]
Typeahead gets flushed too often!

27-AUG-73 TVR
Typeahead is flushed when ILISP is started because ERRSET flushs TTY
buffer irrespective of second arg.  That should be fixed in ILISP.MAC.
 
SUGGESTIONS

2 JAN 73  DBA
The loader should be callable and passed "arguments" as a subroutine ie
it should not be necessary to tell it from the TTY what to load and how.

4 JAN 74  REM
There should exist a master index of all predefined functions, telling
whether the desceiption occurs in the LISP 1.6 Sailon, the ILISP manual,
or whereever, and maybe including the list of parameters such as:
CONS	SUBR	1.6	(CONS <LIST> <LIST>)
DEFPROP	FSUBR	1.6	(DEFPROP "NAME" "FUNCTIONAL DEFINITION" "TYPE OF FUNCTION")
EDITF	FSUBR	ILISP	(EDITF "NAME OF FUNCTION") or (EDITF)
Also, the published copies of the LISP 1.6 Sailon that are
floating around have many errors, both misalignment of text and graphics,
and actual factual errors.  Is there a list of errata to the published manual?